#ifndef _PM_PLUGIN_HPP_
#define _PM_PLUGIN_HPP_

#include "project_manager/api/pm_engine.hpp"

#include <boost/scoped_ptr.hpp>

/*---------------------------------------------------------------------------*/

namespace ProjectManager {

/*---------------------------------------------------------------------------*/

class Plugin
{
/*---------------------------------------------------------------------------*/

public:

/*---------------------------------------------------------------------------*/

	static Plugin& getInstance();

	void initialize();

	Engine& getEngine();

/*---------------------------------------------------------------------------*/

private:

/*---------------------------------------------------------------------------*/

	Plugin();

	~Plugin();

/*---------------------------------------------------------------------------*/

	static Plugin* ms_instance;

	boost::scoped_ptr< Engine > m_engine;

/*---------------------------------------------------------------------------*/

};

/*---------------------------------------------------------------------------*/

} // namespace ProjectManager

/*---------------------------------------------------------------------------*/

#endif // _PM_PLUGIN_HPP_
